EF-45 REST API (1.0.0)

Download OpenAPI specification:Download

E-mail: [email protected] License: Apache 2.0

The EF-45 REST API methods allow developers to access core EF-45 functionality such as device connection, camera control, user enrollment, biometric recognition, and event logs collection. The EF-45 works as the server that receives a request from the client and attempts to fulfill the request and send the client back a response. The API uses RESTful protocol and responses are in JSON format.

lock

Device connection/disconnection by using uuid

Create a new uuid to connect to device

Responses

200

New uuid generated by device

post /lock
http://{device's ip address}:9980/1.0/lock

Response samples

application/json
Copy
Expand all Collapse all
{
  • "lock_uid": "string"
}

Update the existing uuid to gain access to device(Force connection)

Responses

200

Updated uuid by device

put /lock
http://{device's ip address}:9980/1.0/lock

Response samples

application/json
Copy
Expand all Collapse all
{
  • "lock_uid": "string"
}

Delete the uuid to disconnect from device

path Parameters
lock_uid
required
string

Uuid that needs to be deleted from the device\

  • Format: 8-4-4-4-12

Responses

200

Uuid deletion success

delete /lock/{lock_uid}
http://{device's ip address}:9980/1.0/lock/{lock_uid}

version

Device application version

Retrieve application version of device

Responses

200

Application version

get /version
http://{device's ip address}:9980/1.0/version

Response samples

application/json
Copy
Expand all Collapse all
{
  • "version": "string"
}

camera

Camera control

Retrieve camera settings

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Current camera settings

get /camera
http://{device's ip address}:9980/1.0/camera

Response samples

application/json
Copy
Expand all Collapse all
{
  • "serial_number": "string",
  • "camera_mode": "string",
  • "audio_enabled": true
}

Update camera settings

After successful operation,'delete preview' will be invoked

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

200

Camera setting update results

post /camera
http://{device's ip address}:9980/1.0/camera

Request samples

application/json
Copy
Expand all Collapse all
"string"

Response samples

application/json
Copy
Expand all Collapse all
{
  • "success": true,
  • "status": "string"
}

Update time setting

path Parameters
device_time
required
string

The time format is 'MMddhhmmyyy.ss'. For example, '052014402018.30' means 'May 20th, 2018, 2:20:30 PM'.

query Parameters
lock_uid
required
string

Responses

200

Camera setting update results

post /camera/control/setDeviceTime/{device_time}
http://{device's ip address}:9980/1.0/camera/control/setDeviceTime/{device_time}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "success": true,
  • "status": "string"
}

Start camera(on user enrollment)

[Important] Make sure that the camera mode is set to 'Slave' before starting camera. [Note] • Before request: Retrieve data list by using biometric-data(GET) -> Delete data list by using biometric-data(DELETE) • After successful response: Start restBiomericDataPolling()

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

face_mode
boolean

At least one biometric mode(both eye, either eye, face w/ glasses, face wo/ glasses) is requried as a query parameter.

glasses_mode
boolean

At least one biometric mode(both eye, either eye, face w/ glasses, face wo/ glasses) is requried as a query parameter.

both_eye_mode
boolean

At least one biometric mode(both eye, either eye, face w/ glasses, face wo/ glasses) is requried as a query parameter.

either_eye_mode
boolean

At least one biometric mode(both eye, either eye, face w/ glasses, face wo/ glasses) is requried as a query parameter.

streaming_mode
boolean

Start camera to get face at full resolution

recog_mode
string

• If recog_mode is set to false(default), camera settings on enrollment will be applied. • If recog_mode is set to true, camera settings on recognition will be applied to make capture faster than enrollment mode.

Responses

200

Camera start results

post /camera/control/start
http://{device's ip address}:9980/1.0/camera/control/start

Response samples

application/json
Copy
Expand all Collapse all
{
  • "success": true,
  • "status": "string"
}

Stop camera

After successful response, restBiomericDataPolling() will stop. Camera will stop automatically when capture and data transmission are completed. Or you can force camera to stop when there is no activity for a period of time.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Camera stop results

post /camera/control/stop
http://{device's ip address}:9980/1.0/camera/control/stop

Response samples

application/json
Copy
Expand all Collapse all
{
  • "success": true,
  • "status": "string"
}

Start camera to match template

The API is designed to provide matching simulation between the iris template read from the card reader and the iris template from EF-45 database.

  1. Switch camera mode to "Slave".
  2. Start camera and complete iris capture(template generated - This step simulates that you store an iris template to a card).
  3. Switch camera mode to "Recog".
  4. Start camera to match template and complete iris capture(template generated - This step simulates that you present a card that contains the iris template).
  5. When the verification between two templates is completed, the result will be returned.
path Parameters
seq_uid
required
string

Format: 8-4-4-4-12

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

200

Camera start for match template results

post /camera/control/start/matchtemplate/{seq_uid}
http://{device's ip address}:9980/1.0/camera/control/start/matchtemplate/{seq_uid}

Request samples

application/json
Copy
Expand all Collapse all
"string"

Response samples

application/json
Copy
Expand all Collapse all
{
  • "success": true,
  • "status": "string"
}

biometric-data

Biometric data manipulation

Retrieve biometric data(on enrollment) Deprecated

• Original endpoint supported up to App. version 1.2.33 • Keep polling to check and retrieve biometric data on enrollment mode • Data size: about 5MB

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Retrieved biometric data information

get /biometric-data
http://{device's ip address}:9980/1.0/biometric-data

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "items":
    [
    ],
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Retrieve biometric data(on enrollment)

• Revised endpoint supported since App. version 1.2.34 • Keep polling to check and retrieve biometric data on enrollment mode • Data size: about 5MB

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Retrieved biometric data information

get /biometric-data/ver1
http://{device's ip address}:9980/1.0/biometric-data/ver1

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "items":
    [
    ],
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Delete biometric data(Emptying buffer)

Delete buffer right after receiving biometric data

path Parameters
encounter_id
required
string

encounter_id can be found in response message for biometric data query

  • Format: 8-4-4-4-12
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200
delete /biometric-data/{encounter_id}
http://{device's ip address}:9980/1.0/biometric-data/{encounter_id}

Save iris bitmap image

Save for Black & White 8bit Iris image

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json

left eye image = "lefteye.bmp" right eye image = "righteye.bmp"

string

Responses

200

Results for save image request

put /biometric-data/save-8bmp
http://{device's ip address}:9980/1.0/biometric-data/save-8bmp

Request samples

application/json
Copy
Expand all Collapse all
"string"

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Save face bitmap image

Save for color 24bit face image

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json

Face image when capturing iris = "irisoff.bmp" Color face image when capturing face = "faroff.bmp" B/W face image when capturing face = "faron.bmp" Color face image with glasses when capturing face = "nearoff.bmp" B/W face image with glasses when capturing face = "nearon.bmp"

string

Responses

200

Results for save image request

put /biometric-data/save-24bmp
http://{device's ip address}:9980/1.0/biometric-data/save-24bmp

Request samples

application/json
Copy
Expand all Collapse all
"string"

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Load image file

Load various images

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

filename
required
string
  1. File path: /usr/local/share/CMITECH/Images/
  2. File name & extension: 2.1 Iris {uuid}_lefteye.jpg {uuid}_righteye.jpg 2.2 Face {uuid}_faroff.jpg {uuid}_faron.jpg {uuid}_nearoff.jpg {uuid}_nearon.jpg 2.3 Enrollment logo pc_enroll_logo.png
    • The image is uploaded from PC as PNG format and appears on the device screen when enrollment is done by PC software

Responses

200

Loaded image data and information

get /biometric-data/load-file
http://{device's ip address}:9980/1.0/biometric-data/load-file

Response samples

application/json
Copy
Expand all Collapse all
{
  • "file": "string",
  • "size": 0
}

Save image file

Save various images

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

filename
required
string
  1. File path: /usr/local/share/CMITECH/Images/
  2. File name & extension: 2.1 Iris {uuid}_lefteye.jpg {uuid}_righteye.jpg 2.2 Face {uuid}_faroff.jpg {uuid}_faron.jpg {uuid}_nearoff.jpg {uuid}_nearon.jpg 2.3 Enrollment logo pc_enroll_logo.png
    • The image is uploaded from PC as PNG format and appears on the device screen when enrollment is done by PC software
Request Body schema: application/json

base64 encoded

string <byte>

Responses

200
put /biometric-data/save-file
http://{device's ip address}:9980/1.0/biometric-data/save-file

Request samples

application/json
Copy
Expand all Collapse all
"string"

subject

Access to subject information

Retrieve subject list

• View all: http://{host}/1.0/subjects?lock_uid={lock_uid} • View per page(default): http://{host}/1.0/subjects?lock_uid={lock_uid}&page={page} • View per page(size): http://{host}/1.0/subjects?lock_uid={lock_uid}&page={page}&page_size={page_size}

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

page
integer <int32>

• Number of pages to view • Without the parameter, all the list will appear

page_size
integer <int32>

• Number of rows in a single page view(default: 50 rows) • Without the parameter, default number of rows will be applied in a page

Responses

200

Retrieved subject list

get /subjects
http://{device's ip address}:9980/1.0/subjects

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "items":
    [
    ],
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Register a subject

Subject data table(subject, userinfo, face, …) order is irrelevant

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

201
post /subjects
http://{device's ip address}:9980/1.0/subjects

Request samples

application/json
Copy
Expand all Collapse all
"string"

Retrieve a subject

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Retrieved a subject

get /subjects/{user_uuid}
http://{device's ip address}:9980/1.0/subjects/{user_uuid}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "user_uuid": "string",
  • "record_version": 0,
  • "last_name": "string",
  • "access_allowed": true,
  • "first_name": "string",
  • "match_until": "string",
  • "wiegand_facility": 0,
  • "wiegand_site": 0,
  • "wiegand_code": 0,
  • "wiegand_custom": 0,
  • "left_eye_template": "string",
  • "right_eye_template": "string",
  • "left_image_path": 0,
  • "right_image_path": 0
}

Update a subject

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

204
put /subjects/{user_uuid}
http://{device's ip address}:9980/1.0/subjects/{user_uuid}

Request samples

application/json
Copy
Expand all Collapse all
"string"

Delete a subject

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

204
delete /subjects/{user_uuid}
http://{device's ip address}:9980/1.0/subjects/{user_uuid}

Check subject duplication

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

200

Duplication check result

put /subjects/is-exist/template
http://{device's ip address}:9980/1.0/subjects/is-exist/template

Request samples

application/json
Copy
Expand all Collapse all
"string"

Response samples

application/json
Copy
Expand all Collapse all
{
  • "duplicate_uuid": "string"
}

Retrieve record version

Record version represents the device's built-in biometric(iris, face) algorithm type and version. The value(ex. 8976) is fixed and not subject to change unless the algorithm is changed.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Retrieved a subject

get /subjects/record-version
http://{device's ip address}:9980/1.0/subjects/record-version

Response samples

application/json
Copy
Expand all Collapse all
{
  • "record_version": 0
}

user_info

Access to individual user information

Retrieve user list

• View all: http://{host}/1.0/user-info?lock_uid={lock_uid} • View per page(default): http://{host}/1.0/user-info?lock_uid={lock_uid}&page={page} • View per page(size): http://{host}/1.0/user-info?lock_uid={lock_uid}&page={page}&page_size={page_size}

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

page
integer <int32>

• Number of pages to view • Without the parameter, all the list will appear

page_size
integer <int32>

• Number of rows in a single page view(default: 50 rows) • Without the parameter, default number of rows will be applied in a page

Responses

200

Retrieved user list

get /user-info
http://{device's ip address}:9980/1.0/user-info

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "items":
    [
    ],
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Register user information

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

201
post /user-info
http://{device's ip address}:9980/1.0/user-info

Request samples

application/json
Copy
Expand all Collapse all
"string"

Retrieve user info by card

path Parameters
card
required
string

Expressed in HEX(with space inserted per 2 bytes) ex) '65 D8 A1 BD'

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Retrieved user info by card

get /user-info/card/{card}
http://{device's ip address}:9980/1.0/user-info/card/{card}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "user_uuid": "string",
  • "card": "string",
  • "pin": "string",
  • "admin": 0,
  • "group_index": 0,
  • "by_pass_card": 0,
  • "indivisual": 0,
  • "three_out_status": 0,
  • "three_out_status_access_allowed": 0,
  • "job_code": 0,
  • "time_schedule_code": 0,
  • "apb_status": 0,
  • "message": "string"
}

Retrieve user info by user uuid

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Retrieved user info by uuid

get /user-info/uuid/{user_uuid}
http://{device's ip address}:9980/1.0/user-info/uuid/{user_uuid}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "user_uuid": "string",
  • "card": "string",
  • "pin": "string",
  • "admin": 0,
  • "group_index": 0,
  • "by_pass_card": 0,
  • "indivisual": 0,
  • "three_out_status": 0,
  • "three_out_status_access_allowed": 0,
  • "job_code": 0,
  • "time_schedule_code": 0,
  • "apb_status": 0,
  • "message": "string"
}

Update user information

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

204
put /user-info/uuid/{user_uuid}
http://{device's ip address}:9980/1.0/user-info/uuid/{user_uuid}

Request samples

application/json
Copy
Expand all Collapse all
"string"

Delete user information

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

default

Default response

delete /user-info/uuid/{user_uuid}
http://{device's ip address}:9980/1.0/user-info/uuid/{user_uuid}

Request samples

application/json
Copy
Expand all Collapse all
"string"

user

Access to user information

Register a user in a batch

• URL Example: http://192.168.0.100:9980/1.0/user?lock_uid=13dbb896-ed1e-11e6-9822-503f98000109 • Body Example:{"user_uuid":"1","record_version":0,"last_name":"abc", ... , "faces":[{"sub_id":1,"face_eye_width": ... }], ...}

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

200
post /user
http://{device's ip address}:9980/1.0/user

Request samples

application/json
Copy
Expand all Collapse all
"string"

Delete a user in a batch

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

204
delete /user/{user_uuid}
http://{device's ip address}:9980/1.0/user/{user_uuid}

face

Face data manipulation

Retrieve face list

• View all: http://{host}/1.0/faces?lock_uid={lock_uid} • View per page(default): http://{host}/1.0/faces?lock_uid={lock_uid}&page={page} • View per page(size): http://{host}/1.0/faces?lock_uid={lock_uid}&page={page}&page_size={page_size}

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

page
integer <int32>

• Number of pages to view • Without the parameter, all the list will appear

page_size
integer <int32>

• Number of rows in a single page view(default: 50 rows) • Without the parameter, default number of rows will be applied in a page

Responses

200

Retrieved face list

get /faces
http://{device's ip address}:9980/1.0/faces

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "items":
    [
    ],
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Register a face

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

201
post /faces
http://{device's ip address}:9980/1.0/faces

Request samples

application/json
Copy
Expand all Collapse all
"string"

Retrieve a user's face by all or by sub id

http://{host}/1.0/faces/{user_uuid}?lock_uid={lock_uid} http://{host}/1.0/faces/{user_uuid}?lock_uid={lock_uid}&subId={sub_id}

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

subId
integer <int32>

When you will get face info by sub id, add this query parameter. 0: color face 1: B/W face 2: color glasses 3: B/W glasses 4: color updated 5: B/W updated

Responses

200

Retrieved user's face info

get /faces/{user_uuid}
http://{device's ip address}:9980/1.0/faces/{user_uuid}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "items":
    [
    ],
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Update face by sub id

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

sub_id
required
integer <int32>
Request Body schema: application/json
string

Responses

204
put /faces/{user_uuid}
http://{device's ip address}:9980/1.0/faces/{user_uuid}

Request samples

application/json
Copy
Expand all Collapse all
"string"

Delete face by sub id

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

subId
required
integer <int32>

Responses

204
delete /faces/{user_uuid}
http://{device's ip address}:9980/1.0/faces/{user_uuid}

config

Access to device configuration

Retrieve device configuration

path Parameters
title
required
string

Refer to the parameter values in EF-45 SDK Configurations table for 'title' list

type
required
string

ex) bool, float, int, string

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Queried device setting

get /config/{title}/{type}
http://{device's ip address}:9980/1.0/config/{title}/{type}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "title": "string",
  • "bool": true,
  • "float": 0,
  • "int": 0,
  • "string": "string"
}

Update device configuration

path Parameters
title
required
string

Refer to the parameter values in EF-45 SDK Configurations table for 'title' list

type
required
string

ex) bool, float, int, string

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
string

Responses

204
put /config/{title}/{type}
http://{device's ip address}:9980/1.0/config/{title}/{type}

Request samples

application/json
Copy
Expand all Collapse all
"string"

Retrieve door status

Use polling to get the status continually

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Queried door status

get /config/door-status
http://{device's ip address}:9980/1.0/config/door-status

Response samples

application/json
Copy
Expand all Collapse all
{
  • "door_sensor": 0,
  • "relay": 0,
  • "tamper": 0,
  • "rte": 0
}

Updpate relay configuration

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

forced
required
boolean
duration
required
integer <int32>

unit: seconds

Responses

204
put /config/relay
http://{device's ip address}:9980/1.0/config/relay

match-data

Match-data manipulation

Retrieve matched data

Keep polling to check if there is matching event and matched data in the device

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Retrieved match data

get /match-data
http://{device's ip address}:9980/1.0/match-data

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "items":
    [
    ],
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Delete matched data(Emptying buffer)

Emptying buffer after getting matched data

path Parameters
encounter_id
required
string

encounter_id can be found in response message for match data query

  • Format: 8-4-4-4-12
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200
delete /match-data/{encounter_id}
http://{device's ip address}:9980/1.0/match-data/{encounter_id}

log

Access to event log data

Retrieve log list

• View logs per page(default): http://{host}/1.0/logs?lock_uid={lock_uid}&page={page} • View recent logs: http://{host}/1.0/logs?lock_uid={lock_uid}&page=1&page_size={page_size}&order=desc

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

page
integer <int32>

• Number of pages to view • Without the parameter, all the list will appear

page_size
integer <int32>

• Number of rows in a single page view(default: 50 rows) • Without the parameter, default number of rows will be applied in a page

Responses

200

Retrieved log list • Response example: {"status_code":200,"reason_phrase":"OK","items":[{"id":68,"event_type":"Recognition","timestamp":"2018-05-28T14:26:26Z","user_uuid":"111","info":"Recog/BioOnly/IrisOk","additional_data":"Allowed","matched_faceimage_data":""},{"id":69,"event_type":"UserData","timestamp":"2018-05-28T14:45:57Z","user_uuid":"111","info":"DeleteUsers","additional_data":"Success","matched_faceimage_data":""},...],"page":1,"page_size":50,"has_more":false,"total":7}

get /logs
http://{device's ip address}:9980/1.0/logs

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "items":
    [
    ],
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Delete logs by log id range

URL: http://{host}/1.0/logs?lock_uid={lock_uid}&min={from_id}&max={to_id}

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

from_id
required
integer <int32>

start log ID

to_id
required
integer <int32>

end log ID

Responses

204
delete /logs
http://{device's ip address}:9980/1.0/logs

Retrieve log list by log id range

• View logs per page(from-to): http://{host}/1.0/logs/from/to?lock_uid={lock_uid}&page={page}&min={from_id}&max={to_id} • URL Example: http://192.168.0.218:9980/1.0/logs/from/to?lock_uid=6c45cc76-6291-11e8-b384-503f98000288&page=1&min=68&max=74

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

page
integer <int32>

• Number of pages to view • Without the parameter, all the list will appear

page_size
integer <int32>

• Number of rows in a single page view(default: 50 rows) • Without the parameter, default number of rows will be applied in a page

from_id
required
integer <int32>

start log ID

to_id
required
integer <int32>

end log ID

Responses

200

Retrieved log list

get /logs/from/to
http://{device's ip address}:9980/1.0/logs/from/to

Response samples

application/json
Copy
Expand all Collapse all
{
  • "status_code": 0,
  • "reason_phrase": "string",
  • "items":
    [
    ],
  • "page": 0,
  • "page_size": 0,
  • "has_more": true,
  • "total": 0
}

Retrieve log by log id

path Parameters
id
required
integer <int32>

log ID

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Retrieved log list

get /logs/{id}
http://{device's ip address}:9980/1.0/logs/{id}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "event_type": "string",
  • "timestamp": "string",
  • "user_uuid": "string",
  • "info": "string",
  • "additional_data": "string",
  • "matched_faceimage_data": "string"
}

Delete logs by log id

path Parameters
id
required
integer <int32>

log ID

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

204
delete /logs/{id}
http://{device's ip address}:9980/1.0/logs/{id}

Delete all logs

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

204
delete /logs/db
http://{device's ip address}:9980/1.0/logs/db

preview

Access to preview operation

Retrieve preview

Start showing live preview image on the host PC application after camera start and keep polling until the capture is completed.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Retrieved log list

get /preview
http://{device's ip address}:9980/1.0/preview

Response samples

application/json
Copy
Expand all Collapse all
{
  • "left_eye": "string",
  • "right_eye": "string",
  • "face_image": "string",
  • "avg_distance": 0,
  • "left_boundary": 0,
  • "right_boundary": 0,
  • "left_iris_center_x": 0,
  • "right_iris_center_x": 0,
  • "left_iris_center_y": 0,
  • "right_iris_center_y": 0,
  • "left_eye_center_x": 0,
  • "right_eye_center_x": 0,
  • "left_eye_center_y": 0,
  • "right_eye_center_y": 0,
  • "left_iris_radius": 0,
  • "right_iris_radius": 0,
  • "left_distance": 0,
  • "right_distance": 0,
  • "message": 0,
  • "switch_flag": true
}

firmware

Operation about firmware upgrade

Initiate firmware upload sequence(normal upgrade)

When requested, the previous incomplete firmware data transmission will be aborted and the firmware data will be deleted.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200
post /update/start
http://{device's ip address}:9980/1.0/update/start

Initiate firmware upload sequence(force upgrade, downgrade)

When requested, the previous incomplete firmware data transmission will be aborted and the firmware data will be deleted.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

204
put /update/start
http://{device's ip address}:9980/1.0/update/start

Upload firmware file(normal upgrade)

While running the loop for data transmission, the splitted firmware data units of pre-definded upload buffer size(about 1MB in total per each unit) which is encoded with Base64 will be sent to to device in order except the last data unit.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200
post /update/continous
http://{device's ip address}:9980/1.0/update/continous

Upload firmware file(force upgrade, downgrade)

While running the loop for data transmission, the splitted firmware data units of pre-definded upload buffer size(about 1MB in total per each unit) which is encoded with Base64 will be sent to to device in order except the last data unit.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

204
put /update/continous
http://{device's ip address}:9980/1.0/update/continous

Upload firmware file(normal upgrade)

• On this request, the last firmware data unit will be transferred and file transmission results will be returned. • If the firmware upload is successful, the device will start firmware upgrade process by itself after checking firmware version. • When the first stage is completed, the device will reboot automatically and follow the firmware upgrade routine after reboot. Make sure that the device will not turn off the device during this time. • If the device turn off during the firmware upgrade, it will usually revert to the previous firmware through recovery mode. If the device is not recovered by recovery mode, RMA is required in this case. • When the firmware upgrade is completed, the device will reboot and the main screen will appear.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Firmware upgrade result

post /update/done
http://{device's ip address}:9980/1.0/update/done

Response samples

application/json
Copy
Expand all Collapse all
{
  • "file": "string"
}

Upload firmware file(force upgrade, downgrade)

• On this request, the last firmware data unit will be transferred and file transmission results will be returned. • If the firmware upload is successful, the device will start firmware upgrade process by itself after checking firmware version. • When the first stage is completed, the device will reboot automatically and follow the firmware upgrade routine after reboot. Make sure that the device will not turn off the device during this time. • If the device turn off during the firmware upgrade, it will usually revert to the previous firmware through recovery mode. If the device is not recovered by recovery mode, RMA is required in this case. • When the firmware upgrade is completed, the device will reboot and the main screen will appear.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

204

Firmware upgrade result

put /update/done
http://{device's ip address}:9980/1.0/update/done

Response samples

application/json
Copy
Expand all Collapse all
{
  • "file": "string"
}

control

Device control

Manual device control

• To use this API correctly, 'Use manual command'(Settings > Network > Server) in the device settings menu needs to be enabled first. • At lease one parameter should be included in the request body.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Request Body schema: application/json
boolean

Responses

200

Device conrol results

post /control
http://{device's ip address}:9980/1.0/control

Request samples

application/json
Copy
Expand all Collapse all
true

Response samples

application/json
Copy
Expand all Collapse all
{
  • "success": true,
  • "status": "string"
}

Start card read stand-by mode

• The camera mode should be set to 'Slave'(Enroll mode) first. • When started, the device will show card input screen for card tagging or manual input

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200
post /control/card/start
http://{device's ip address}:9980/1.0/control/card/start

Retrieve card information from device

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200

Retrieved card number

get /control/card/data
http://{device's ip address}:9980/1.0/control/card/data

Response samples

application/json
Copy
Expand all Collapse all
{
  • "card": "string"
}

Stop card read stand-by mode

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200
post /control/card/stop
http://{device's ip address}:9980/1.0/control/card/stop

Reset APB status of a user

Setting APBStatus to 1(CLEAR) will force the user to be released from anti-passback violation status and let him or her to access again.

path Parameters
user_uuid
required
string
query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200
post /control/apb/clear/{user_uuid}
http://{device's ip address}:9980/1.0/control/apb/clear/{user_uuid}

Reset APB status of all users

Setting APBStatus to 1(CLEAR) will force all the user to be released from anti-passback violation status and let them to access again.

query Parameters
lock_uid
required
string

Format: 8-4-4-4-12

Responses

200
post /control/apb/clearall
http://{device's ip address}:9980/1.0/control/apb/clearall